package edu.bbu.commonproject.backend.server.factory;

import edu.bbu.commonproject.backend.server.factory.thrift.ThriftSRVFactory;
import edu.bbu.commonproject.backend.server.services.CommunicationSRVServices;

/**
 * Abstract class Server Factory.
 */
public abstract class SVRFactory
{
	/** The supported server types. */
	public static final int THRIFT_FACTORY = 1;
	
	/** The methods, which should be implemented by the concrete factories. */
	public abstract CommunicationSRVServices getCommunicationSRVServices();
	
	/** Getting the specified factory type. */
	public static SVRFactory getSRVFactory(int factoryType)
	{
		switch (factoryType)
		{
			case THRIFT_FACTORY:
			{
				return new ThriftSRVFactory();
			}
		}
		
		return null;
	}
}
